package com.winit.openapi.apiadapter.vo;

import java.math.BigDecimal;

/**
 * 老出库费用预估实体Vo
 * 
 * @version <pre>
 * Author   Version     Date        Changes
 * minghao.deng     1.0         2016年12月15日     Created
 *
 * </pre>
 * @since 1.
 */
public class Order3eFeeResultVo {

    /*
     * 原始计费货币CODE
     */
    private String     originalCurrency;

    /*
     * 目标计费货币CODE，一般为USD
     */
    private String     targetCurrency;

    /*
     * 原始订单处理费
     */
    private BigDecimal orderHandlingFee;

    /*
     * 原始订单派送费
     */
    private BigDecimal orderDeliveryFee;

    /*
     * 原始订单保险费
     */
    private BigDecimal orderInsuranceFee;
    /*
     * 原始订单费用总和
     */
    private BigDecimal orderTotalFee;

    /*
     * 原始订单处理费转换为美金
     */
    private BigDecimal orderHandlingFeeToUSD;
    /*
     * 原始订单派送费转换为美金
     */
    private BigDecimal orderDeliveryFeeToUSD;

    /*
     * 原始订单保险费转换为美金
     */
    private BigDecimal orderInsuranceFeeToUSD;

    /*
     * 原始订单费用总和，美金
     */
    private BigDecimal orderTotalFeeToUSD;

    /*
     * 用户账号可用余额，可用余额是账户当前余额减去本次订单预估费用后的数字（美金）
     */
    private BigDecimal accountAvailableBalance;
    /*
     * 账户是否锁定，当前余额减去本次订单预估费用后的数字小于账号的信用额度时为锁定
     */
    private String     isAccountLocked;
    /*
     * 计费类型，如计费重，阶梯价等
     */
    private String     chargeType;
    /**
     * 托盘数量
     */
    private Integer    trayQty;

    private BigDecimal chargeWeight;

    public String getOriginalCurrency() {
        return originalCurrency;
    }

    public void setOriginalCurrency(String originalCurrency) {
        this.originalCurrency = originalCurrency;
    }

    public String getTargetCurrency() {
        return targetCurrency;
    }

    public void setTargetCurrency(String targetCurrency) {
        this.targetCurrency = targetCurrency;
    }

    public BigDecimal getOrderHandlingFee() {
        return orderHandlingFee;
    }

    public void setOrderHandlingFee(BigDecimal orderHandlingFee) {
        this.orderHandlingFee = orderHandlingFee;
    }

    public BigDecimal getOrderDeliveryFee() {
        return orderDeliveryFee;
    }

    public void setOrderDeliveryFee(BigDecimal orderDeliveryFee) {
        this.orderDeliveryFee = orderDeliveryFee;
    }

    public BigDecimal getOrderInsuranceFee() {
        return orderInsuranceFee;
    }

    public void setOrderInsuranceFee(BigDecimal orderInsuranceFee) {
        this.orderInsuranceFee = orderInsuranceFee;
    }

    public BigDecimal getOrderHandlingFeeToUSD() {
        return orderHandlingFeeToUSD;
    }

    public void setOrderHandlingFeeToUSD(BigDecimal orderHandlingFeeToUSD) {
        this.orderHandlingFeeToUSD = orderHandlingFeeToUSD;
    }

    public BigDecimal getOrderDeliveryFeeToUSD() {
        return orderDeliveryFeeToUSD;
    }

    public void setOrderDeliveryFeeToUSD(BigDecimal orderDeliveryFeeToUSD) {
        this.orderDeliveryFeeToUSD = orderDeliveryFeeToUSD;
    }

    public BigDecimal getOrderInsuranceFeeToUSD() {
        return orderInsuranceFeeToUSD;
    }

    public void setOrderInsuranceFeeToUSD(BigDecimal orderInsuranceFeeToUSD) {
        this.orderInsuranceFeeToUSD = orderInsuranceFeeToUSD;
    }

    public BigDecimal getOrderTotalFee() {
        return orderTotalFee;
    }

    public void setOrderTotalFee(BigDecimal orderTotalFee) {
        this.orderTotalFee = orderTotalFee;
    }

    public BigDecimal getOrderTotalFeeToUSD() {
        return orderTotalFeeToUSD;
    }

    public void setOrderTotalFeeToUSD(BigDecimal orderTotalFeeToUSD) {
        this.orderTotalFeeToUSD = orderTotalFeeToUSD;
    }

    public BigDecimal getAccountAvailableBalance() {
        return accountAvailableBalance;
    }

    public void setAccountAvailableBalance(BigDecimal accountAvailableBalance) {
        this.accountAvailableBalance = accountAvailableBalance;
    }

    public String getIsAccountLocked() {
        return isAccountLocked;
    }

    public void setIsAccountLocked(String isAccountLocked) {
        this.isAccountLocked = isAccountLocked;
    }

    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }

    public int getTrayQty() {
        return trayQty;
    }

    public void setTrayQty(int trayQty) {
        this.trayQty = trayQty;
    }

    public BigDecimal getChargeWeight() {
        return chargeWeight;
    }

    public void setChargeWeight(BigDecimal chargeWeight) {
        this.chargeWeight = chargeWeight;
    }

    public void setTrayQty(Integer trayQty) {
        this.trayQty = trayQty;
    }

    @Override
    public String toString() {
        return originalCurrency + "," + orderDeliveryFee + "," + orderHandlingFee + "," + orderInsuranceFee + ","
               + targetCurrency + "," + accountAvailableBalance + "," + targetCurrency + "," + orderDeliveryFeeToUSD
               + "," + orderHandlingFeeToUSD + "," + orderInsuranceFeeToUSD + "," + isAccountLocked + "," + chargeType
               + "," + trayQty;
    }

}
